package com.nenude.corejava.ch9;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DataClass {
	public static void main(String[] args) {
	//时间
	//如何获取当前系统时间
	Date now=new Date();
	System.out.println(now.getTime());
	
	//unix 时间--在有些数据库设计中，使用long保存时间
	long time=System.currentTimeMillis();
	now =new Date(time);
	System.out.println(time);
	
	//日历:默认获取当前系统时间
	Calendar calendar=Calendar.getInstance();
	//年月日	
	//String dateString=""+Calendar.YEAR;
	String dateString=new Integer(calendar.get(Calendar.YEAR)).toString();
     System.out.println(dateString);
     
     //使用calendar读取的月份是0~11
     dateString=new Integer(calendar.get(Calendar.MONTH)+1).toString();
     System.out.println(dateString);
     
      dateString=new Integer(calendar.get(Calendar.DATE)).toString();
     System.out.println(dateString);
     
     //星期，星期是从星期天开始的，范围是1~7
     dateString=new Integer(calendar.get(Calendar.DAY_OF_WEEK)-1).toString();
     System.out.println(dateString);
     
     //时分秒
     //12小时进制
     dateString=new Integer(calendar.get(Calendar.HOUR)).toString();
     System.out.println(dateString);
     
     //24小时进制
     dateString=new Integer(calendar.get(Calendar.HOUR_OF_DAY)).toString();
     System.out.println(dateString);
     
     //分钟
     dateString=new Integer(calendar.get(Calendar.MINUTE)).toString();
     System.out.println(dateString);
     
     //秒钟
     dateString=new Integer(calendar.get(Calendar.SECOND)).toString();
     System.out.println(dateString);
     
     //毫秒
     dateString=new Integer(calendar.get(Calendar.MILLISECOND)).toString();
     System.out.println(dateString);
     
     
     //时间的计算、
     //java.until.Date 没有提供时间计算方法，时间一般使用Calendar进行计算
     System.out.println("*****************");
     //三天后
     calendar.set(Calendar.DATE, calendar.get(Calendar.DATE)+3);
     System.out.println( calendar.get(Calendar.DATE));
          
     //三个月以前     
     calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH)-3);
     System.out.println(calendar.get(Calendar.MONTH));
     
     //5年以后
     calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR)+5);
     System.out.println(calendar.get(Calendar.YEAR));
     
     //时间与时间字符串间的转换
     //2018-8-7  15:15:15.234
     //2018年8月7日  15时15分15秒234毫秒
     //simpledataFormat 简单的时间格式
     //yyyy-年；MM-月；dd-日；HH-24小时，mm-分钟；ss-秒钟；SSS-毫秒
    String aa="yyyy-MM-dd HH:mm:ss.SSS";
      SimpleDateFormat sdf=new SimpleDateFormat(aa);     
      try {
		Date date=sdf.parse("2019-8-7  15:15:15.234");
		System.out.println(date);
		aa="YYYY年MM月dd日     HH时mm分ss秒SSS毫秒 EE DD天  WW周 SS区";
		
		//修改时间格式
		sdf.applyPattern(aa);
		String dateString2=sdf.format(date);
		
		System.out.println(dateString2);
	} catch (ParseException e) {
		
		e.printStackTrace();
	}
     
     
     
     
	}

}
